The present invention generally relates to the networking of individual computer stations into a data communication system, and more particularly to regulating the access of computer stations to a common data communications link.
The desireability of networking several of computers or work-stations together in what is known as a local area network or "LAN" are well known. Linking equipment provides the capability of communicating between work stations, exchanging files, and simultaneously sharing data files. Also, large data files can be accessed by linking smaller computers to a large central computer. In a LAN different stand alone pieces of computing equipment are physically cabled together to provide a communications path over which data can be transmitted from one station to another. The key problem is how to efficiently regulate each station's access to the common data communications path in order to prevent more than one station from talking at once.
A number of access techniques and approaches have been devised, most of which use one or more of the following: "token passing", (2) "collision detection", (3) "collision avoidance", (4) a ring topology, or (5) a network controller.
Using a token passing technique, an electronic "token" is passed from station to station and the station having the token at any point in time is the only station allowed to transmit. U.S. Pat. No. 4,454,508 discloses a timed token protocol implemented on a physical or logical loop interconnecting a plurality of stations forming the LAN.
Collision detection schemes have special hardware to detect when two or more stations are transmitting at the same time. A collision detection protocol aborts the transmissions of all stations when a collision is detected. Collision detection is described in U.S. Pat. No. 4,380,761.
As its name implies, collision avoidance avoid simultaneous transmissions in the first instance by assigning each station of the LAN with a unique time slot during which it is permitted to transmit data. Under collision avoidance schemes, once a station has begun transmitting, it can continue to transmit for as long as it wants.
Using a ring topology the stations are not all connected to the same cable. Instead, each station is connected directly to the next station, and the last station is connected to the first station, thus forming a "ring" of stations. Data is passed around the network in "bucket brigade" fashion.
Finally, in the category denoted "network controller", one station exercises overall control of the network, serving as a controller that tells the other stations when they can transmit. The software in the controller lets only one station transmit at a time.
The aforementioned cable access schemes have a number of disadvantages. For example, networks using a collision detection protocol are highly sensitive to tap insertion loss and unbalanced signal strengths and are very sensitive in regard to the need to use matched cables and transmitters with strict specifications.
Conventional collision avoidance schemes are, on the other hand, inherently unfair. Using collision avoidance schemes heretofore known, stations with the first assigned time slot have priority over subsequent stations, with the last assigned time slot having the lowest priority. This is due to the fact that under previous collision avoidance schemes timeout clocks are provided at every station and each of these timeout clocks are restarted at the end of every data transmission. The first station, therefore, always has the first opportunity to transmit and can transmit as long as it wants, the second station has the second opportunity to transmit and can transmit as long as it wants, etc. Such systems are extremely impractical under most normal usage conditions since the lower priority stations do not have sufficient opportunity to access the system. Relatively complicated solutions have been devised for solving this problem, such as using a token which is assigned to establish priority between stations. Beyond its complexity, the use of tokens raises problems associated with agreeing what the token is and losing the token.
LAN systems cabled together in a ring topology generally avoid the above problems of complexity and fairness, however, ring topology systems including the timed token ring generally produce more idle time on the network and are inefficient in handling short burst like transmissions from a number of stations.
Generally, all of the above-mentioned accessing schemes involve relative degrees of complexity in their circuit implementations including the use of active processors. The currently used collision detection system known as the Ethernet system (described in the above-mentioned U.S. Pat. No. 4,380,761) has a particularly high degree of complexity, making it expensive and quite difficult to implement. The collision detection scheme of Ethernet also tends to become unstable and collapse at high utilization rates due to the fact that the collision algorithm is telling the work stations to wait longer and longer to avoid future collisions.
The present invention provides for a unique collision avoidance cable access regulation scheme which overcomes the above-mentioned major disadvantage of present regulation systems, that of high system complexity. In particular, the collision avoidance system of the present invention can be implemented by a relatively simple circuit board (with no processor) which plugs into each of the network's computer stations; the computers of the network provide the memory and central processing that are required to operate the collision avoidance protocol of, the invention. The present invention also overcomes a problem associated with collision avoidance type access schemes heretofore devised in that it provides all stations with fair and equal access to the network.